In [1]:
# 用循环来生成
l = []
for x in range(1, 11):
l.append(x * x)
print(l)
In [9]:
# 用列表生成式
# 是不是更加简洁和优雅?
l = [ x * x for x in range(1, 11)]
print(l)
In [2]:
# 在列表生成式后面加上判断,过滤出结果为偶数的结果
[x * x for x in range(1, 11) if x % 2 == 0 ]
Out[2]:
In [14]:
# 可以在列表生成式中使用双重循环
# 输出一对元组,每个数在10以内,且加在一起等于5
l = [(x, y) for x in range(10) for y in range(10) if x + y == 5 if x > y]
print(l)
In [1]:
# 改进之前寻找目录下指定字母开头的文件的判断方式
# 修改为使用列表生成式
import os
# 可以指定路径参数,来列出该目录下所有文件
# l = os.listdir('/Users/yijun')
# 可以判断各类情况,比如第一个是大写的 P 字母, 用列表生成式的方式,代码精简了很多
list1 = [l for l in os.listdir('/Users/yijun') if l[0:1] == 'P']
print(list1)
In [1]:
# python 有趣灵活的变量定义
first, second, *rest = (1,2,3,4,5,6,7,8)
print(first)
print(second)
print(*rest)
In [28]:
# python 交换变量
a, b = 3, 4
a, b = b, a
print(a)
print(b)
In [ ]: